package model;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "tbl_produtos")
public class Produto implements Serializable{
    
    @OneToMany(mappedBy = "produto_id")
    private List<AplicacaoProduto> aplicacaoprodutos;
    @OneToMany(mappedBy = "produto_id")
    private List<ItensPedido> itenspedidoss;
    @OneToMany(mappedBy = "produto_id")
    private List<FotoProduto> imagemprodutos;
    @OneToMany(mappedBy = "produto_id")
    private List<Promocoes> promocoess;
    
    @Id
    private int produto_id;
    private String descricao;
    @ManyToOne
    @JoinColumn(name="marca_id")
    private MarcaProduto marca_id;
    @ManyToOne
    @JoinColumn(name="grupo_id")
    private GrupoProduto grupo_id;
    private String codigo_original;
    private Double preco;
    private Double peso;
    private int altura;
    private int largura;
    private int comprimento;
    private boolean usado;
    private boolean disponivel;
    private boolean destaque;
    private String garantia;
    private String informacoes;

    public Produto() {
    }
    public String toString(){
        return this.descricao;
    } 

    public List<AplicacaoProduto> getAplicacaoprodutos() {
        return aplicacaoprodutos;
    }

    public void setAplicacaoprodutos(List<AplicacaoProduto> aplicacaoprodutos) {
        this.aplicacaoprodutos = aplicacaoprodutos;
    }

    public List<ItensPedido> getItenspedidoss() {
        return itenspedidoss;
    }

    public void setItenspedidoss(List<ItensPedido> itenspedidoss) {
        this.itenspedidoss = itenspedidoss;
    }

    public List<FotoProduto> getImagemprodutos() {
        return imagemprodutos;
    }

    public void setImagemprodutos(List<FotoProduto> imagemprodutos) {
        this.imagemprodutos = imagemprodutos;
    }

    public int getProduto_id() {
        return produto_id;
    }

    public void setProduto_id(int produto_id) {
        this.produto_id = produto_id;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public MarcaProduto getMarca_id() {
        return marca_id;
    }

    public void setMarca_id(MarcaProduto marca_id) {
        this.marca_id = marca_id;
    }

    public GrupoProduto getGrupo_id() {
        return grupo_id;
    }

    public void setGrupo_id(GrupoProduto grupo_id) {
        this.grupo_id = grupo_id;
    }

    public String getCodigo_original() {
        return codigo_original;
    }

    public void setCodigo_original(String codigo_original) {
        this.codigo_original = codigo_original;
    }

    public Double getPreco() {
        return preco;
    }

    public void setPreco(Double preco) {
        this.preco = preco;
    }

    public Double getPeso() {
        return peso;
    }

    public void setPeso(Double peso) {
        this.peso = peso;
    }

    public int getAltura() {
        return altura;
    }

    public void setAltura(int altura) {
        this.altura = altura;
    }

    public int getLargura() {
        return largura;
    }

    public void setLargura(int largura) {
        this.largura = largura;
    }

    public int getComprimento() {
        return comprimento;
    }

    public void setComprimento(int comprimento) {
        this.comprimento = comprimento;
    }

    public boolean isUsado() {
        return usado;
    }

    public void setUsado(boolean usado) {
        this.usado = usado;
    }

    public boolean isDisponivel() {
        return disponivel;
    }

    public void setDisponivel(boolean disponivel) {
        this.disponivel = disponivel;
    }

    public boolean isDestaque() {
        return destaque;
    }

    public void setDestaque(boolean destaque) {
        this.destaque = destaque;
    }

    public String getGarantia() {
        return garantia;
    }

    public void setGarantia(String garantia) {
        this.garantia = garantia;
    }

    public String getInformacoes() {
        return informacoes;
    }

    public void setInformacoes(String informacoes) {
        this.informacoes = informacoes;
    }

    public List<Promocoes> getPromocoess() {
        return promocoess;
    }

    public void setPromocoess(List<Promocoes> promocoess) {
        this.promocoess = promocoess;
    }

    public Produto(int produto_id, String descricao, MarcaProduto marca_id, GrupoProduto grupo_id, String codigo_original, Double preco, Double peso, int altura, int largura, int comprimento, boolean usado, boolean disponivel, boolean destaque, String garantia, String informacoes) {
        this.produto_id = produto_id;
        this.descricao = descricao;
        this.marca_id = marca_id;
        this.grupo_id = grupo_id;
        this.codigo_original = codigo_original;
        this.preco = preco;
        this.peso = peso;
        this.altura = altura;
        this.largura = largura;
        this.comprimento = comprimento;
        this.usado = usado;
        this.disponivel = disponivel;
        this.destaque = destaque;
        this.garantia = garantia;
        this.informacoes = informacoes;
    }

}
